1. Field of the Invention
The present invention is directed to creating application functionality in a spreadsheet program.
2. Description of the Related Art
Computerized spreadsheets have become widely used for organizing numerical and textual data. These spreadsheet application programs, such as for example Microsoft® Excel, are executed by a processor to provide the user with a graphical presentation of a spreadsheet, and tools for entering information on the spreadsheet. The spreadsheets may consist of rows and columns of individual cells. The columns are organized by letter—Columns A, B, C, etc.—and the rows are organized by number—Rows 1, 2, 3, etc. Each cell is identified by a combination of column letter and row number. Cell “B3,” for instance, is in column B and row 3. The user can organize numerical and/or textual data in the cells of the spreadsheet as desired using the computer's graphical user interface, and can format the numerical and/or textual data so as to be recognized as one of a variety of data classes, including text, dates, currency, integers and/or floating point numbers.
The spreadsheet is a rectangular table or grid of information generally including financial information. One of the first commercial uses of computers was in processing payroll and other financial records so programs are designed to generate reports and standard “spreadsheet” format bookkeepers and accountants use. Just as early programming languages were not designed to generate spreadsheet print-outs, programming techniques themselves have evolved to process tables of data more efficiently in the computer itself. A spreadsheet program is designed to perform general computational tasks using special relationships rather than time as a primary organizing principle. In a spreadsheet a set of cells is defined with the special relationship to one another. The cells are functionally equivalent to variables and the sequential programming model. The cells often have a formula, a set of instructions can be used to complete the value of a cell. Formulas can use contents of other cells or external variables such as the current date and time. Spreadsheets usually attempt to automatically update cells when the cells on which they depend have changed. Since spreadsheet cells formulas are generally invertible the technique is of somewhat limited value.
The power of any spreadsheet program is found in the ability to create and functional sheets adapted for specific tasks. Generally, when a user starts the application, they are presented with an open sheet—a sheet of uniformly sized rows and columns devoid of formulas, data or formatting. This blank canvas can be somewhat overwhelming to novice users. Cells are essentially useless without any understanding of the formulas and structure required to organize them into task-based programs.
In order to provide novice and intermediate users with a starting point for creating useful worksheets, application providers generally provide the user with templates of commonly used functional sheets, such as financial planning, checkbook sheets, expense reports and the like. The trouble with templates is that they are essentially a closed environment. This means that any modification of the template can affect its functionality. If a user inserts a row or column, this may create a problem in the functioning of the spreadsheet.